package com.yhsimon.singleton.type4;

public class SingletonTest4 {
    public static void main(String[] args) {
        Singleton instance1 = Singleton.getInstance();
        Singleton instance2 = Singleton.getInstance();
        System.out.println("i1与i2实例是否相等："+(instance1==instance2));
        System.out.println("i1与i2的哈希值是否相同：i1的哈希值为 "+instance1.hashCode()+"  i2的哈希值为："+instance2.hashCode()+"---"+(instance1.hashCode()==instance2.hashCode()));

    }

}

//懒汉式 (线程安全,同步方法）
class Singleton{
    private static Singleton instance;

    private Singleton(){}

    //加入同步代码，解决线程不安全问题
    public static synchronized Singleton getInstance(){
        if(instance==null){
            instance= new Singleton();
        }
        return instance;
    }


}